﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Kitware.VTK;

namespace HAVTKPack
{

    /// <summary>
    /// 用于表示一些实体模型
    /// </summary>
    [Serializable]
   public abstract class Geometry
   {

       #region 构造函数

       #endregion


       #region 字段属性


       GeometryNode _parentNode;
       /// <summary>
       /// 记录该 Geometry 所属的Node
       /// </summary>
        public GeometryNode ParentNode
        {
            get { return _parentNode; }
            set { _parentNode = value; }
        }


        private vtkTransform _geometryTransform;
        /// <summary>
        /// 记录对整个数据集进行平移，旋转，缩放等的操作。
        /// </summary>
        public vtkTransform GeometryTransform
        {
            get { return _geometryTransform; }
            set { _geometryTransform = value; }
        }

      
     


        protected vtkDataSet _outPutData;
        /// <summary>
        /// 存放创建生成的数据集
        /// </summary>
        public vtkDataSet OutPutData
        {
            get { return _outPutData; }
            set { _outPutData = value; }
        }

       #endregion



        #region 公共方法

        public abstract void Render();

        public abstract void StopRender();


        #endregion

   }
}
